package com.tanhua.dubbo.api;

import com.tanhua.model.mongo.Questionnaire;
import org.apache.dubbo.config.annotation.DubboService;
import org.bson.types.ObjectId;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;

import java.util.List;

/**
 * @Desciption:test
 * @Create by:金木yan
 * @Date: 2021/12/11 15:29
 */
@DubboService
public class QuestionnaireApiImpl implements QuestionnaireApi {
    @Autowired
    private MongoTemplate mongoTemplate;

    //查询问卷列表
    @Override
    public List<Questionnaire> find() {
        Query query = new Query();
        List<Questionnaire> questionnaires = mongoTemplate.find(query, Questionnaire.class);
        return questionnaires;
    }

    //根据问卷id查询
    @Override
    public Questionnaire findById(ObjectId id) {
        Questionnaire questionnaire = mongoTemplate.findById(id, Questionnaire.class);
        return questionnaire;
    }

    //根据问卷等级查询问卷id
    @Override
    public ObjectId findByLevel(String level) {
        Query query = Query.query(Criteria.where("level").is(level));
        Questionnaire questionnaire = mongoTemplate.findOne(query, Questionnaire.class);
        return questionnaire.getId();
    }
}
